package Classes;

import java.util.ArrayList;

public class Test {
	public static void main(String[] args) throws Exception {
		
		RepositorioDeUsuarios repositorios = new RepositorioDeUsuarios();
		
		Restaurante restaurante1 = new Restaurante("Boteco", "Av.beberibe","a la carte");
		Restaurante restaurante2 = new Restaurante("Caldinho sem nome", "Rua Princesa","Petisco");
		Restaurante restaurante3 = new Restaurante("Bargaco", "Av.Boa Viagem","a la carte");
		Restaurante restaurante4 = new Restaurante("Atlantico", "Madalena","a la carte");
		Restaurante restaurante5 = new Restaurante("Baixinho", "Cajueiro","Lanche");
		ArrayList<Restaurante> resta = new ArrayList<Restaurante>();
		resta.add(restaurante1);
		resta.add(restaurante2);
		resta.add(restaurante3);
		resta.add(restaurante4);
		resta.add(restaurante5);
		
		
		Usuario usuario1 = new Usuario("Thiago", "13/05/2011 18:35:48", null);
		Usuario usuario2 = new Usuario("Italo", "13/05/2011 18:36:48", null);
		Usuario usuario3 = new Usuario("Luiza", "13/05/2011 18:37:48", null);
		Usuario usuario4 = new Usuario("Tia Nita", "13/05/2011 18:39:48", null);
		Usuario usuario5 = new Usuario("Thayse", "13/05/2011 18:40:48", null);
		Usuario usuario6 = new Usuario("Joao", "13/05/2011 18:41:48", null);
		
		Opniao op1 = new Opniao(restaurante1, 0, "Muito bom");
		Opniao op2 = new Opniao(restaurante2, 0, "Nao eh ruim");
		Opniao op3 = new Opniao(restaurante3, 2, "Pessimo");
		Opniao op4 = new Opniao(restaurante4, 2, "mais ou menos");
		Opniao op5 = new Opniao(restaurante5, 2, "Nao conheco");
		
		usuario1.adicionaPreferencia(op1);
		usuario1.adicionaPreferencia(op2);
		usuario1.adicionaPreferencia(op3);
		usuario1.adicionaPreferencia(op4);
		usuario1.adicionaPreferencia(op5);

		repositorios.adicionaUsuario(usuario1);
		
		Opniao op6 = new Opniao(restaurante1, 3, "Muito bom");
		Opniao op7 = new Opniao(restaurante2, -2, "Nao eh ruim");
		Opniao op8 = new Opniao(restaurante3, 4, "Pessimo");
		Opniao op9 = new Opniao(restaurante4, 4, "mais ou menos");
		Opniao op10 = new Opniao(restaurante5, 5, "Nao conheco");
		
		usuario2.adicionaPreferencia(op6);
		usuario2.adicionaPreferencia(op7);
		usuario2.adicionaPreferencia(op8);
		usuario2.adicionaPreferencia(op9);
		usuario2.adicionaPreferencia(op10);
		
		repositorios.adicionaUsuario(usuario2);
		
		RecomendacaoGlobal reco = new RecomendacaoGlobal();
		for(Estabelecimento rest :reco.Sugeri(repositorios,4)){
			System.out.println(rest.toString());
		}
		System.out.println("\n");
		
		RecomendacaoPersonalizada reco2 = new RecomendacaoPersonalizada();
		reco2.sugeriPersonalizado(repositorios, usuario1, 2);
		for(Estabelecimento rest :reco2.sugeriPersonalizado(repositorios, usuario1, 2)){
			System.out.println(rest.toString());
		}
		
		
	}
}
	